.TH std::formatter 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::formatter \- std::formatter

.SH Synopsis
   Defined in header <filesystem>
   template< class CharT >                          (since C++26)
   struct formatter<std::filesystem::path, CharT>;

   The template specialization of std::formatter for the std::filesystem::path class
   allows users to convert a pathname to its textual representation using formatting
   functions. This specialization is debug-enabled.

.SH Member functions

   set_debug_format enables to format the pathname as an escaped string
                    \fI(public member function)\fP
   parse            parses the format specifier as specified by path-format-spec
                    \fI(public member function)\fP
   format           writes the formatted output as specified by path-format-spec
                    \fI(public member function)\fP

std::formatter<std::filesystem::path>::set_debug_format

   constexpr void set_debug_format();

   Allows the current object to format pathname as an escaped string.

std::formatter<std::filesystem::path>::parse

   constexpr auto parse( std::basic_format_parse_context<CharT>& ctx )
       -> std::basic_format_parse_context<CharT>::iterator;

   Parses the format specifiers as a path-format-spec and stores the parsed specifiers
   in the current object.

   Returns an iterator past the end of the path-format-spec.

std::formatter<std::filesystem::path>::format

   template< class FormatContext >

   auto format( const std::filesystem::path& p, FormatContext& ctx ) const

       -> FormatContext::iterator;

   Let s be p.generic<std::filesystem::path::value_type>() if the g option is used,
   otherwise p.native(). Writes s into ctx.out() as specified by path-format-spec.

   For character transcoding of the pathname:

     * The pathname is transcoded from the native encoding for wide character strings
       to UTF-8 with maximal subparts of ill-formed subsequences substituted with
       U+FFFD REPLACEMENT CHARACTER if
          * std::is_same_v<CharT, char> is true,
          * std::is_same_v<typename path::value_type, wchar_t> is true, and
          * ordinary literal encoding is UTF-8.
     * Otherwise, no transcoding is performed if std::is_same_v<typename
       path::value_type, CharT> is true.
     * Otherwise, transcoding is implementation-defined.

   Returns an iterator past the end of the output range.

.SH Notes

    Feature-test macro    Value    Std                     Feature
   __cpp_lib_format_path 202403L (C++26) formatting support for std::filesystem::path

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   formatter defines formatting rules for a given type
   (C++20)   \fI(class template)\fP

.SH Category:
     * Todo no example
